Xbasic

*TREE_FROM_DEPENDENCIES Function

Syntax

Tree_List as C = *TREE_FROM_DEPENDENCIES(C data[,C format[,C separator]])

Arguments

Tree_List

Data formatted to populate a tree control.

data

Parent-child pairs of values.

format

A character string that defines how to parse each line in Tree_List for the parent and child data. Format must contain 'P' and 'C' placeholders to designate the parent and child. For example, if the data in Format is of the form parent|child, then Format should be P|C. "P" = parent value, "C" = child value

separator

Optional. Default = CR-LF. The separator between pairs of parent-child values.

Description

Transform child/parent pairs into a tree.

Discussion

The *TREE_FROM_DEPENDENCIES() function transforms parent-child pairs of values into a format suitable for displaying in a tree control. This function is useful for taking hierarchical information that is stored in a flat table (i.e. shared keys representing parent and child) and populating a tree control with that data.

Example

? *tree_from_dependencies(<<%str% 
Beverage|Wine 
Beverage|Beer 
Beer|Lager 
Beer|Ale 
Lager|Cervesa 
Lager|Pilsener 
Ale|Stout 
Ale|Porter 
Ale|Weizen 
Wine|White Wine 
Wine|Red Wine 
White Wine|Reisling 
White Wine|Chardonnay 
White Wine|Pinot Gris 
Red Wine|Cabernet 
Red Wine|Shiraz 
Red Wine|Nebbiola 
Red Wine|Pinot Noir 
Red Wine|Merlot
%str%,"p|c") 
= Beverage 
Beverage|Wine 
Beverage|Wine|White Wine 
Beverage|Wine|White Wine|Reisling 
Beverage|Wine|White Wine|Chardonnay 
Beverage|Wine|White Wine|Pinot Gris 
Beverage|Wine|Red Wine 
Beverage|Wine|Red Wine|Cabernet 
Beverage|Wine|Red Wine|Shiraz 
Beverage|Wine|Red Wine|Nebbiola 
Beverage|Wine|Red Wine|Pinot Noir 
Beverage|Wine|Red Wine|Merlot# 
Beverage|Beer 
Beverage|Beer|Lager 
Beverage|Beer|Lager|Cervesa 
Beverage|Beer|Lager|Pilsener 
Beverage|Beer|Ale 
Beverage|Beer|Ale|Stout 
Beverage|Beer|Ale|Porter 
Beverage|Beer|Ale|Weizen

See Also